<?php

namespace app\admin\controller;

use think\Controller;
use think\Session;
use think\auth\Auth;

class Common extends Controller
{
    /*公用控制器*/
    public function _initialize()
    {
        //验证登录状态
        if (!Session::has('user')) {
            $this->redirect('Login/index');
        };

        //验证权限
        //如果uid=1 拥有超级权限 跳过验证
        if (session('user.id') != 1) {
            //获取auth实例
            $auth = Auth::instance();
            //检测权限
            $model = request()->module();
            $controller = request()->controller();
            $action = request()->action();
            $authStr = strtolower($model) . '/' . strtolower($controller) . '/' . strtolower($action);
            if (!$auth->check($authStr, session('user.id'))) {// 第一个参数是规则名称,第二个参数是用户UID
                //没有显示操作按钮的权限
                $this->error('您没有权限访问');
            }
        }

    }

}
